# cmake_minimum_required (VERSION 3.10)

# project(cloud)

# add_compile_options(-lpthread -lstdc++fs -std=c++11)    #添加编译选项

# add_executable(cloud cloud.cpp util.hpp bundle.cpp)   # 添加依赖


# cmake_minimum_required(VERSION 3.10)

# # 设置项目名称和版本
# project(CloudApp VERSION 1.0)

# # 设置 C++ 标准
# set(CMAKE_CXX_STANDARD 11)
# set(CMAKE_CXX_STANDARD_REQUIRED True)

# # 查找 pthread 库
# find_package(Threads REQUIRED)

# # # 查找 jsoncpp 库
# # find_package(jsoncpp REQUIRED)

# # 添加源文件
# set(SOURCES
#     cloud.cpp
#     bundle.cpp
# )

# add_compile_options(-ljsoncpp)    #添加编译选项


# # 添加可执行文件
# add_executable(cloud ${SOURCES})

# # 链接 pthread 库
# target_link_libraries(cloud PRIVATE Threads::Threads)

# # # 链接 jsoncpp 库
# # target_link_libraries(cloud PRIVATE jsoncpp::jsoncpp)

# # 添加文件系统库链接（对于 gcc 10 及更高版本，标准库已经支持文件系统，所以可以不需要单独链接）
# target_link_libraries(cloud PRIVATE stdc++fs)



cmake_minimum_required(VERSION 3.10)

# 设置项目名称和版本
project(CloudApp VERSION 1.0)

# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

# 查找 pthread 库
find_package(Threads REQUIRED)

# 查找 jsoncpp 库（可能没有找到，手动指定路径）
find_package(PkgConfig REQUIRED)
pkg_check_modules(JSONCPP jsoncpp)

# 添加源文件
set(SOURCES
    cloud.cpp
)


# 添加可执行文件
add_executable(cloud ${SOURCES})

# 添加静态库的路径
add_subdirectory(./lib/)


# 链接 pthread 库
target_link_libraries(cloud PRIVATE Threads::Threads)

# 链接静态库
target_link_libraries(cloud PRIVATE libbundle.a)

# 链接 jsoncpp 库
if (JSONCPP_FOUND)
    target_link_libraries(cloud PRIVATE ${JSONCPP_LIBRARIES})
    include_directories(${JSONCPP_INCLUDE_DIRS})
else()
    message(FATAL_ERROR "jsoncpp not found")
endif()

# 添加文件系统库链接（对于 gcc 10 及更高版本，标准库已经支持文件系统，所以可以不需要单独链接）
target_link_libraries(cloud PRIVATE stdc++fs)